This invention relates to a method and apparatus for performing a host enumeration process.
With today's increasingly complex and sophisticated computer networks, virtual switches are commonly used to facilitate the use of remote end devices. Typically, a host is connected to a virtual switch. The virtual switch facilitates the sharing of input/output (“I/O”) devices that are physically disaggregated from the host. The virtual switch may be a Virtual peer-to-peer (“P2P”) Bridge device, or other hardware or software that serves the same function as a virtual switch.
When the system is being powered on, all the devices in the system will begin their bootup processes. In order for the host to see any I/O devices, a middle manager would conduct a shared resource allocation process. The purpose of this process is to allocate resources for one or more of the end devices such that the devices would operate correctly.
During the bootup process, typically, the host would perform an enumeration process of its bus hierarchy as part of the bootup process. However, if the host enumerates its hierarchy before the shared resource allocation process has been completed by the middle manager, the I/O devices that are behind the virtual switch would not be seen by the host.